const EventEmitter = require('events').EventEmitter;
// 自定义一个“计算器” 事件发射器，监听计算事件，接收两个数字和运算符，触发时计算结果并输出。
class Calculator extends EventEmitter {
    constructor() {
        super();
    }
    calculate(num1, num2, operator) {
        let result;
        switch (operator) {
            case '+':
                result = num1 + num2;
                break;
            case '-':
                result = num1 - num2;
                break;
            case '*':
                result = num1 * num2;
                break;
            case '/':
                result = num1 / num2;
                break;
            default:
                console.log('无效的运算符！');
                return;
        }
        // this是指当前对象，即Calculator对象，emit是EventEmitter的方法，用于触发事件，这里触发的是result事件，参数是计算结果。
        this.emit('result', result);// 这两个参数分别是：事件名称和事件参数。
    }
    
}

// 打包成一个模块，供其他文件使用，module.exports是Node.js的一个内置模块，用于导出模块。
module.exports = Calculator;// 导出类